//Array
arr=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];

//添加或者删除数组元素的方法
//push方法:在数组末尾添加元素
arr.push(21);
console.log('push方法:'+arr);

//unshift方法:在数组前面添加元素
arr.unshift(0);
console.log('unshift方法:'+arr);

//pop方法:删除数组最后一个元素
arr.pop();
console.log('pop方法:'+arr);

//shift方法:删除数组最前面的元素
arr.shift();
console.log('shift方法:'+arr);

//splice方法:删除索引处元素
//格式为 数组名.splice(索引值,删除个数,[添加新元素])
arr.splice(0,1);//从索引0开始删除1个
console.log('splice方法仅删除:'+arr);
arr.splice(0,2,'new1','new2');//从索引0开始删除2个，并添加new1,new2
console.log('splice方法且添加元素:'+arr);


//改变数组顺序的方法
//reverse方法:颠倒数组索引
arr.reverse();
console.log('reverse方法:'+arr);

//sort方法:对数组元素进行排序
var arrSort=[9,4,6,1,3,2];
arrSort.sort(function (a,b){return a-b});//升序排序
console.log('sort升序:'+arrSort);
arrSort.sort(function (a,b){return b-a});//降序排序
console.log('sort降序:'+arrSort);

//indexOf方法:返回指定元素在数组中第一次出现的索引,不存在则返回-1
console.log('indexOf方法:'+arr.indexOf(5));

//lastIndexOf方法:放回指定元素在数组中最后一次出现的索引
console.log('lastIndexOf方法:'+arr.lastIndexOf(6));

//toString方法:把数组转位字符串，逗号分隔元素
console.log('toString方法:'+arr.toString());

//join方法:将数组元素连接成字符串
//格式为 数组名.join([separator]),separator用于指定字符串的分隔符
console.log('join方法:'+arr.join(':'));

//fill方法:填充数组内所有元素
//格式为 数组名.fill(value,[s],[e]),value表示要填充的元素,s和e可选，表示起始和结束
var arrFill=[1,2,3,4];
console.log('arrFill方法:'+arrFill.fill(1));

//slice方法:截取数组元素,返回被截取元素组成的新数组
//格式为 数组名.slice(begin,[end]),begin起始索引,end可选为结束索引
console.log('slice方法:'+arr.slice(0,3));

//concat方法:连接两个或多个数组,或者将值添加到数组中不影响原数组
var arrCon=[1,2,3,4];
console.log('concat方法:'+arr.concat(arrCon));

console.log('');
console.log('----------String----------');
console.log('');
//String
var str='abcdefg123';


//根据字符串返回索引的方法
//indexOf方法:返回指定元素在字符串中首次出现的索引,不存在则返回-1
console.log('indexOf方法:'+str.indexOf('a'));

//lastIndexOf方法:返回指定元素在字符串中最后一次出现的索引
console.log('lastIndexOf方法:'+arr.lastIndexOf('2'));

//根据索引返回字符的方法
//charAt方法:获取索引对应的字符
console.log('charAt方法:'+str.charAt(0));

//charCodeAt方法:获取索引对应的ASCII
console.log('charCodeAt方法:'+str.charCodeAt(0));


//字符串截取,连接,替换和大小写转换的方法
//concat方法:连接一个或多个字符串
console.log('concat方法:'+str.concat('+concat'));

//slice方法:截取数组元素
//格式为 字符串.slice(begin,[end]),begin起始索引,end可选为结束索引
console.log('slice方法:'+str.slice(0,3));

//substring方法:截取索引之间的子字符串
//格式为 字符串.substring(start,[end]),start起始索引,end可选为结束索引
//和slice不同的是参数为负数时被视为0；
console.log('substring方法:'+str.substring(-3,3));

//substr方法:截取索引值开始长度为length的字符串
//格式为 字符串.substr(start,[end]),start起始索引,length可选为长度
console.log('substr方法:'+str.substr(0,3));

//toLowerCase方法:获取字符串的小写形式
var UpperStr='ABC';
console.log('toLowerCase方法:'+UpperStr.toLowerCase());

//toUpperCase方法:获取字符串的小写形式
var LowerStr='abc';
console.log('toUpperCase方法:'+LowerStr.toUpperCase());

//split方法:使用分隔符将字符串分割成数组
//格式为 字符串.split(separator,[limit]),separator为分隔符,limit可选用于限制数量
console.log('split方法:'+str.split('/',3));

//replace方法:替换字符串
//格式为 字符串.replace(str1,str2),使用str2替换字符串中的str1
console.log('replace方法:'+str.replace('1','2'));
